System and method of utilizing a network to correct flawed media data

ABSTRACT

A system and method of utilizing a network to correct flawed media data. The media device includes a processor, a memory, a network adapter, a removable media interface, an error-correction module, and a communication module. The network device enables the media device to connect to the network and server. The removable media interface enables a user to couple a removable medium to the media device. After a user inserts a removable medium into the removable media interface, the processor and error-correction module examines the removable medium for physical errors. If the number of detected errors exceeds a predetermined threshold, the media device, via the network adapter and the communication module, queries a server for correction data. This correction data may be utilized by the media device to enable successful processing of the data stored on the removable medium.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates in general to the field of networked dataprocessing systems. More particularly, the present invention relates toa system and method of utilizing a network to correct flawed media data.

2. Description of the Related Art

Personal media players have increased in popularity in the last decade.One of the first personal media players was a video cassette recorder(VCR). However, the advent of the digital video disc (DVD) and personalvideo recorder (PVR) has increased the quality of media playback andreduced the costs associated with personal media players.

A rapidly growing segment of the personal media business is mail-orderDVD rentals via services such as Netflix™. These services typicallyallow a user to indicate a collection of titles that he or she wishes toview. The service provider parses the list and periodically sends outselected DVD titles through the mail to the user. When the user hasfinished viewing the DVD, the user places the DVD back in the mail to bereturned to the service provider.

DVDs eventually develop physical flaws due to multiple users mishandlingthe discs. Typically, the mail-order DVD rental services allow therecipient of a flawed DVD to indicate online or on the return envelopethat the DVD contains flaws. Once the flawed disc is received by theservice provider, a new disc is automatically sent to the user.

There are several disadvantages of the current mail-order DVD rentalbusiness model. Because the DVD must be returned to the serviceprovider, the user must wait for the new DVD to arrive before he or shecan view the movie. The small costs associated with returning flawedDVDs eventually become prohibitive as the DVDs are handled by moreusers. For example, some DVDs with minor flaws will be consistentlyreturned (adding to mail costs) until they are removed fromdistribution. The error correction capabilities of different models ofDVD players vary widely. Thus, DVDs with slight flaws might besuccessfully processed by some models but not others, which results inincreased mail costs for returned discs. These returned discs might beunnecessarily replaced because they might be playable on some playersbut not others due to the vast range of error correction capacities ofvarious DVD players.

Therefore, there is a need for a system and method for correcting flawedremovable media without requiring a service provider to send a physicalDVD via mail.

SUMMARY OF THE INVENTION

The present invention comprises a media device, a server, and a networksuch as the Internet. The media device includes a processor, a memory, anetwork adapter, a removable media interface, an error-correctionmodule, and a communication module. The network device enables the mediadevice to connect to the network and server. The removable mediainterface enables a user to couple a removable medium to the mediadevice. After a user inserts a removable medium into the removable mediainterface, the processor and error-correction module examines theremovable medium for physical errors. If the number of detected errorsexceeds a predetermined threshold, the media device, via the networkadapter and the communication module, queries a server for correctiondata. This correction data may be utilized by the media device to enablesuccessful processing of the data stored on the removable medium.

The above-mentioned features, as well as additional objectives,features, and advantages or the present invention will become apparentin the following detailed written description.

BRIEF DESCRIPTION OF THE FIGURES

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself, however, as well asa preferred mode of use, further objects and advantages thereof, willbest be understood by reference to the following detailed description ofan illustrative embodiment when read in conjunction with theaccompanying drawings, wherein:

FIG. 1 is a block diagram illustrating an exemplary network in which apreferred embodiment of the present invention may be implemented;

FIG. 2 is a block diagram depicting an exemplary media device in which apreferred embodiment of the present invention may be implemented;

FIG. 3 is a block diagram illustrating an exemplary server in which apreferred embodiment of the present invention may be implemented; and

FIG. 4 is a high-level logical flowchart depicting a method of utilizinga network to correct flawed media data according to a preferredembodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring now to the figures, and in particular, FIG. 1, there isillustrated a block diagram depicting an exemplary network 100 in whicha preferred embodiment of the present invention may be implemented. Asillustrated, network 100 includes media device 102, which is discussedherein in more detail in conjunction with FIG. 2. Media device 102utilizes a network adapter 208 and a communication module 204, asillustrated in FIG. 2, to connect to server 106 via Internet 104.

With reference to FIG. 2, there is depicted a more detailed blockdiagram illustrating an exemplary media device 102 in which a preferredembodiment of the present invention may be implemented. As illustrated,media device 102 includes a processor 202, communication module 204,memory 206, network adapter 208, error correction module 210, andremovable media interface 212. Media device 102 can be implemented asany type of media player and/or recorder, including but not limited to,a DVD, CD, or flash memory player.

During operation, the user places a removable medium (e.g., DVD, CD,flash memory, etc.) into removable media interface 212. Processor 202begins processing the data stored on the removable medium. Errorcorrection module 210 examines the removable medium for errors. If thenumber or severity of errors on the removable medium exceed apredetermined threshold, processor 202, in conjunction withcommunication module 204 and network adapter 208 query a server 106(FIGS. 1 and 3) for correction data to enable successful processing ofthe data stored on the removable medium. Server 106 tailors thecorrection data to be sent to media device 102 depending on a variety offactors. For example, if server 106 determines that the connectionestablished with media device 102 is a low-speed (e.g., dial-up)connection, checksum data for correcting damaged bits might be sent asopposed to replacement data for the damaged areas of the removablemedium. Replacement data (e.g., entire chapters on a DVD) might be sentif server 106 and media device 102 have established a high-speed (e.g.,broadband) connection. The correction data is stored in memory 206. In apreferred embodiment of the present invention, a user may set acollection of user preferences 214 that determine the type of correctiondata requested by media device 102. For example, even if the user hasaccess to a high-speed connection, he or she may decide that the timerequired to receive the replacement data, as opposed to checksum data,is prohibitive. The user can request that media device 102 only requestchecksum data in the event of detecting a damaged removable medium.

If processor 202 has received checksum data as correction data fromserver 106, the correction data is streamed with the data stored on theremovable medium during processing by processor 202 for on-the-flycorrections. However, if processor 202 has received replacement data ascorrection data, the correction data is merged with the original datastored on the removable medium. Therefore, during processing, whenprocessor 202 reaches a flawed area of removable medium where undamageddata cannot be retrieved, processor 202 accesses the merged data storedin memory 206.

Those with skill in this art will appreciate that a preferred embodimentof the present invention may utilize any method of error correction tostream or merge the retrieved correction data with the data stored onthe removable medium. An examples of an error correction algorithmwell-known in the art is the Error Correction Code (ECC) algorithm whichenables damaged bits within data to be repaired with checksuminformation. When data correction is needed, the missing or incompletedata needed to correct the physical flaws on the removable medium aregenerated in a list. Media device 102 contacts server 106 (which may bea computer system operated by the removable medium supplier) to retrievethe needed correction data.

Server 106 may also tailor the correction data sent to media device 102depending on a variety of factors including, but not limited to: theconnection speed established between server 106 and media device 102,the number and severity of errors found on the removable medium, etc.For example, if server 106 has determined that the connectionestablished with media device 102 is a low-speed connection such asdial-up access, server 106 may opt to send only checksum or errorcorrection data to correct damaged bits on the removable medium.

As previously discussed, a user may set a collection of user preferences214 that determine the type of correction data requested by media device102. This collection of user preferences 214 may be set by the user byaccessing his or her respective user account on server 106 via theinternet or locally set the collection of user preferences 214 via aninterface located on media device 102. Server 106 may parse thiscollection of user preferences 214 and send the correction data in theuser-requested form (e.g., checksum or replacement data). Server 106 mayalso send information to media device 106 indicating to the user aprojected time required to correct the damaged data. Media device 106can query the user, inquiring whether the projected time required tocorrect the damaged data is acceptable. If not, the user may request viamedia device 106 a new removable medium to be sent. Another option theuser may select is the extent of the correction depending on the amountof time the user is willing to wait. For example, if the user wantshigh-quality correction (e.g., complete replacement of damaged data) andis willing to wait the required time, the user can select a“high-quality correction” option. If the user wants to forgo ahigh-quality correction because he or she would rather view the moviesooner, the user can select the “low-quality correction” option, whichusually involves a request of checksum data for “on-the-fly”corrections.

As discussed herein in more detail in conjunction with FIG. 4, checksumor error correction data can be combined with data stored on theremovable medium for on-the-fly data corrections during processing.However, there are times, especially when there are a large number ofdetected errors on the removable medium and the connection establishedwith media device 102 is a high-speed (e.g., broadband) connection,server 106 may opt to send data that replaces the parts of the datastored on the removable medium that is damaged by physical defects. Thisdata would be stored in memory 206 of media device 102. Duringprocessing of the data stored in the removable medium, processor 202 mayencounter areas on the removable medium that are damaged due to physicaldefects. Instead of correcting the data stored in the damaged areas viachecksum and correction data, processor 202 processes the downloadedreplacement data from memory 206. This reduces the processingrequirements on processor 202, as compared to a real-time, on-the-flycorrection of damaged data.

FIG. 3 is a block diagram illustrating an exemplary server 106 in whicha preferred embodiment of the present invention may be implemented. Asillustrated, server 106 includes at least one processor 302, which iscoupled to system memory 306 via system interconnect 304. System memory306 also includes a correction data module 318, which determines thecharacter of the correction data to be sent to fulfill a correction datarequest from a media device 102. For example, correction data module 318may determine that checksum data utilized for on-the-fly correction ofdamaged bits may be more appropriate for a particular correction datarequest. In other situations, correction data module 318 may determinethat replacement data (e.g., entire chapters on a DVD) might be morefeasible as correction data. Correction data module 318 considers avariety of factors, such as: speed of connection between media device102 and server 106, severity of damage to the particular removablemedium, etc.

Mezzanine interconnect 314 couples system interconnect 304 to peripheralinterconnect 316. Those with skill in this art will appreciate thatperipheral interconnect 316 may be implemented as any type of peripheralinterconnect including, but not limited to, peripheral componentinterconnect (PCI), accelerated graphics port (AGP) and small computersystem interface (SCSI) buses. Coupled to peripheral interconnect 316 isa network adapter 308, hard disk drive (HDD) 310, and a collection ofperipherals 312. Network adapter 308 couples server 106 to Internet 104and allows server 106 to fulfill correction data requests from mediadevice 102, as discussed herein in more detail in conjunction with FIG.4. System memory 306 and hard disk drive (HDD) 310 store a collection ofcorrection data that may be tailored to each unique correction datarequest.

FIG. 4 is a high-level logical flowchart diagram illustrating anexemplary method of utilizing a network to correct flawed media dataaccording to a preferred embodiment of the present invention. Theprocess begins at step 400 and proceeds to step 402, which illustrates auser inserting a removable medium into removable media interface 212 ofmedia device 102. The process proceeds to step 404, which depictsprocessor 202 and error correction module 210 examining the removablemedium for physical errors. As previously discussed, these physicalerrors can include, but are not limited to, scratches on a DVD or CDdisc due to user mishandling, or physical errors on tape or flash media.

The process continues to step 406, which illustrates processor 202determining whether the number of detected errors on the removablemedium exceeds a predetermined threshold. This predetermined thresholdof errors may be varied by the manufacturer of media device 102 viasystem firmware stored in memory 206, set via user-defined settings, orany other method. If processor 202 determines that the number ofdetected errors on the removable medium does not exceed a predeterminedthreshold, the process proceeds to step 408, which depicts processor 202processing the data stored on the removable medium. The processcontinues to step 410, which illustrates a determination made as towhether processor 202 has completed processing the data stored on theremovable medium. If processor 202 has not completed processing the datastored on the removable medium, the process returns to step 408.However, if processor 202 has completed processing the data stored onthe removable medium, the process proceeds to step 412, whichillustrates the process ending.

Returning to step 406, if processor 202 determines that the number ofdetected errors on the removable medium exceeds a predeterminedthreshold, the process proceeds to step 414, which illustrates mediadevice 102 querying server 106 via communication module 204 and networkadapter 208 for correction data.

The process continues to step 416, which depicts correction data module318 of server 106 tailoring the correction data to be sent to requestingmedia device 102 by considering a variety of factors including, but notlimited to: the connection speed established between server 106 andmedia device 102, the number and severity of errors found on theremovable medium, and user settings 214 etc, as previously discussed. Asillustrated by step 418, processor 302 of server 106 prepares thecorrection data to be sent to media device 102 via the factors discussedin conjunction with step 416. If correction data module 318 of server106 determines that checksum data should be sent, the process proceedsto step 420, which illustrates correction data streamed with data storedon removable medium for on-the-fly corrections during processing. Theprocess then ends, as illustrated by step 412. Returning to step 418, ifserver 106 determines that replacement correction data should be sent tomedia device 102, the process proceeds to step 422, which illustratescorrection data being merged with original data stored on removablemedium and stored in memory 206.

The process then proceeds to step 424, which illustrates processor 202determining whether the flawed areas of the removable medium have beenreached during processing of the data. If processor 202 determines thatthe flawed areas of the removable medium have been reached duringprocessing, the process proceeds to step 426, which illustratesprocessor 202 processing the merged data stored in memory 206. Theprocess then ends, as illustrated by step 412. However, if processor 202determines that the flawed areas of the removable medium have not beenreached during processing, the process continues to step 428, whichdepicts processor 202 continue processing the data stored on theremovable medium.

The process then continues to step 430, which illustrates processor 202determining whether the processing of the data has ended. If the dataprocessing has not ended, the process returns to step 428. However, ifprocessor 202 has determined that the process has ended, the processterminates at step 412, which depicts the process ending.

As disclosed, present invention includes a system and method ofutilizing a network to correct flawed media data. The media deviceincludes a processor, a memory, a network adapter, a removable mediainterface, and error-correction module, and a communication module. Thenetwork device enables the media device to connect to the network andserver. The removable media interface enables a user to couple aremovable medium to the media device. After a user inserts a removablemedium into the removable media interface, the processor anderror-correction module examines the removable medium for physicalerrors. If the number of detected errors exceeds a predeterminedthreshold, the media device, via the network adapter and thecommunication module, queries a server for correction data. Thiscorrection data may be utilized by the media device to enable successfulprocessing of the data stored on the removable medium.

In a preferred embodiment of the present invention, a media device isimplemented as a DVD/PVR machine (i.e., a device that incorporates a DVDdrive and a disk component for replaying video) that is coupled to aserver utilizing a variety of methods including, but not limited to atelephone modem connection, an Ethernet connection, or a cable TVconnection. When a DVD (e.g., or any other type of removable medium) isplaced into the media device, the media device scans the removablemedium for errors (e.g., reads checksums for chapters of DVD).

Then, the media device scans the actual data fields for the chapters andchecks the checksums of the physical platter of the DVD versus that ofthe listed checksums. A calculation is performed to determine thedegradation percentage (i.e., how much of a chapter is scratched or willgive a poor quality rendering of the data stored on the removablemedium). The scanning procedure may be tailored by altering a collectionof user preferences. If the quality of a chapter on the DVD isdetermined to be below a certain predetermined threshold, the mediadevice notifies the user that corrective data is required for anaccurate rendering of the data stored on the removable medium (e.g.,clear quality picture in the case of a DVD movie). The media device mayalso notify the user of the amount of time required before the renderingof the data from the removable medium will begin, if the detected errorsoccur in areas of the removable medium that will be accessed at a latertime. Corrective data for the detected errors can be downloaded in thebackground during playback of the earlier accessed areas of theremovable medium.

Those with skill in the art will appreciate that correction datautilized in a preferred embodiment of the present invention include, butare not limited to, corrective data implemented as mathematical valuesutilized to correct erroneous bits and corrective data that is mergedwith original erroneous data and saved to memory. When the DVD playerportion of the media player reaches erroneous areas on the DVD, thecorrected/merged data can be played from directly from memory.Corrective data may be stored in files on a remote server and relayedupon request.

It should be understood that at least some aspects of the presentinvention may alternatively be implemented in a computer-useable mediumthat contains a program product. Programs defining functions on thepresent invention can be delivered to a data storage system or acomputer system via a variety of signal-bearing media, which include,without limitation, non-writable storage media (e.g., CD-ROM), writablestorage media (e.g., a floppy diskette, hard disk drive, read/write CDROM, optical media), and communication media, such as computer andtelephone networks including Ethernet, the Internet, wireless networks,and like network systems. It should be understood, therefore, in suchsignal-bearing media when carrying or encoding computer readableinstructions that direct method functions in the present invention,represent alternative embodiments of the present invention. Further, itis understood that the present invention may be implemented by a systemhaving means in the form of hardware, software, or a combination ofsoftware and hardware as described herein or their equivalent.

While the invention has been particularly shown and described withreference to a preferred embodiment, it will be understood by thoseskilled in the art that various changes in form and detail may be madetherein without departing from the spirit and scope of the invention.

1. A media device comprising: a processor; a data bus coupled to saidprocessor; a memory coupled to said data bus; a network adapter, coupledto said data bus, wherein said network adapter couples said processor toa distributed network including at least one server; a removable mediainterface for accepting a removable medium, said removable mediainterface coupled to said processor; and a computer-usable storagemedium embodying computer program code, said computer program codecomprising instructions executable by said processor and configured for:detecting a number of errors on said removable medium; if said number oferrors on said removable medium exceeds a predetermined threshold,querying said at least one server for correction data to be stored insaid memory in accordance with at least one preference indicating acharacter of the correction data, wherein said at least one userpreference indicates either high quality or low quality correction; andmerging said correction data with data stored on said removable mediumduring processing of the data stored on the removable medium by theprocessor to enable successful processing of said data stored on saidremovable medium.